﻿using IMaverick.Physics.Extensions;

namespace IMaverick.Physics
{
    public class Pressure : Dimension<Pressure>
    {
        static Pressure()
        {
            InitializeOrdersOfMagnitude("Pa");
            Units.Add(new Unit { Factor = 100000, Name = "bar" });
            Units.Add(new Unit { Factor = 100, Name = "mbar" });
        }

        public Pressure() : base() { }
        private Pressure(Unit unit) : base(unit) { }

        public static Pressure Pascal { get { return new Pressure(); } }
        public static Pressure Kilopascal { get { return GetNewInstanceFor(OrderOfMagnitude.Kilo); } }
        public static Pressure Hectopascal { get { return GetNewInstanceFor(OrderOfMagnitude.Hecto); } }
        public static Pressure Bar { get { return new Pressure(Units["bar"]); } }
        public static Pressure Millibar { get { return new Pressure(Units["mbar"]); } }
    }
}
